<!DOCTYPE html>
<html>

<head><meta name="generator" content="Hexo 3.8.0">
  
  <title>HBuilder集成的消息推送 - 绪锋</title>
  <meta charset="UTF-8">
  <meta name="description" content="小镇青年,心怀远方">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  
  

    <!-- Site Verification -->
    <meta name="baidu-site-verification" content="cXpXJOvmtY">

  <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon">
  <meta name="description" content="Android 消息推送篇幅较长，但是我写得很详情，希望你能耐心看下去。">
<meta name="keywords" content="消息推送">
<meta property="og:type" content="article">
<meta property="og:title" content="HBuilder集成的消息推送">
<meta property="og:url" content="https://mraing.github.io/2019/09/18/HBuilder集成的消息推送/index.html">
<meta property="og:site_name" content="绪锋">
<meta property="og:description" content="Android 消息推送篇幅较长，但是我写得很详情，希望你能耐心看下去。">
<meta property="og:locale" content="zh-CN">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687892607067.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687902058577.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687917551563.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687918289624.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687992767625.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687995928360.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15687998779348.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688003108469.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688016837256.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688017839311.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688018227659.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688022469380.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688026560695.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688032143722.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688033170233.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688172502232.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688178325589.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688185912999.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/15688187672093.jpg">
<meta property="og:image" content="http://images.leegeing.cn/hexoImg/Screenshot_20190918-230158__01.jpg">
<meta property="og:updated_time" content="2019-09-18T15:27:34.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="HBuilder集成的消息推送">
<meta name="twitter:description" content="Android 消息推送篇幅较长，但是我写得很详情，希望你能耐心看下去。">
<meta name="twitter:image" content="http://images.leegeing.cn/hexoImg/15687892607067.jpg">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdui@0.4.3/dist/css/mdui.min.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@9.15.8/styles/atom-one-dark.css">
   
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
  
  
  <link rel="stylesheet" href="//at.alicdn.com/t/font_1038733_0xvrvpg9c0r.css">
  <link rel="stylesheet" href="/css/style.css?v=1627371788932">
</head>

<body class="mdui-drawer-body-left">
  
  <div id="nexmoe-background">
    <div class="nexmoe-bg" style="background-image: url(https://i.loli.net/2019/01/13/5c3aec85a4343.jpg)"></div>
    <div class="mdui-appbar mdui-shadow-0">
      <div class="mdui-toolbar">
        <a mdui-drawer="{target: '#drawer', swipe: true}" title="menu" class="mdui-btn mdui-btn-icon"><i class="mdui-icon material-icons">menu</i></a>
        <div class="mdui-toolbar-spacer"></div>
        <!--<a href="javascript:;" class="mdui-btn mdui-btn-icon"><i class="mdui-icon material-icons">search</i></a>-->
        <a href="/" title="LeeGeing" class="mdui-btn mdui-btn-icon"><img src="/images/avatar.jpg"></a>
       </div>
    </div>
  </div>
  <div id="nexmoe-header">
      <div class="nexmoe-drawer mdui-drawer" id="drawer">
    <div class="nexmoe-avatar mdui-ripple">
        <a href="/" title="LeeGeing">
            <img src="/images/avatar.jpg" alt="LeeGeing">
        </a>
    </div>
    <div class="nexmoe-count">
        <div><span>文章</span>82</div>
        <div><span>标签</span>28</div>
        <div><span>分类</span>8</div>
    </div>
    <ul class="nexmoe-list mdui-list" mdui-collapse="{accordion: true}">
        
        <a class="nexmoe-list-item mdui-list-item mdui-ripple" href="/" title="回到首页">
            <i class="mdui-list-item-icon nexmoefont icon-home"></i>
            <div class="mdui-list-item-content">
                回到首页
            </div>
        </a>
        
        <a class="nexmoe-list-item mdui-list-item mdui-ripple" href="/about.html" title="关于博客">
            <i class="mdui-list-item-icon nexmoefont icon-info-circle"></i>
            <div class="mdui-list-item-content">
                关于博客
            </div>
        </a>
        
        <a class="nexmoe-list-item mdui-list-item mdui-ripple" href="/PY.html" title="我的朋友">
            <i class="mdui-list-item-icon nexmoefont icon-unorderedlist"></i>
            <div class="mdui-list-item-content">
                我的朋友
            </div>
        </a>
        
    </ul>
    <aside id="nexmoe-sidebar">
  
  <div class="nexmoe-widget-wrap">
    <h3 class="nexmoe-widget-title">社交按钮</h3>
    <div class="nexmoe-widget nexmoe-social">
        <a class="mdui-ripple" href="https://space.bilibili.com/11147795" target="_blank" mdui-tooltip="{content: '哔哩哔哩'}" style="color: rgb(231, 106, 141);background-color: rgba(231, 106, 141, .15);">
            <i class="nexmoefont icon-bilibili"></i>
        </a><a class="mdui-ripple" href="https://github.com/mraing/" target="_blank" mdui-tooltip="{content: 'GitHub'}" style="color: rgb(25, 23, 23);background-color: rgba(25, 23, 23, .15);">
            <i class="nexmoefont icon-github"></i>
        </a>
    </div>
</div>
  
  
  <div class="nexmoe-widget-wrap">
    <h3 class="nexmoe-widget-title">文章分类</h3>
    <div class="nexmoe-widget">

      <ul class="category-list">

        


        

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/React/">React</a>
          <span class="category-list-count">7</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/TypeScript/">TypeScript</a>
          <span class="category-list-count">5</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/Vue/">Vue</a>
          <span class="category-list-count">33</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/前端/">前端</a>
          <span class="category-list-count">19</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/博客/">博客</a>
          <span class="category-list-count">3</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/工具/">工具</a>
          <span class="category-list-count">6</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/碎碎念/">碎碎念</a>
          <span class="category-list-count">4</span>
        </li>

        

        <li class="category-list-item">
          <a class="category-list-link" href="/categories/软件设计师/">软件设计师</a>
          <span class="category-list-count">5</span>
        </li>

        
      </ul>

    </div>
  </div>


  
  
  <div class="nexmoe-widget-wrap">
    <h3 class="nexmoe-widget-title">标签云</h3>
    <div id="randomtagcloud" class="nexmoe-widget tagcloud">
      <a href="/tags/Hbuilder/" style="font-size: 10px;">Hbuilder</a> <a href="/tags/Homebrew/" style="font-size: 10px;">Homebrew</a> <a href="/tags/JS/" style="font-size: 14px;">JS</a> <a href="/tags/JSX/" style="font-size: 10px;">JSX</a> <a href="/tags/Mint-UI/" style="font-size: 10px;">Mint-UI</a> <a href="/tags/Nginx/" style="font-size: 10px;">Nginx</a> <a href="/tags/Ngnix/" style="font-size: 10px;">Ngnix</a> <a href="/tags/OpenInTerminal/" style="font-size: 10px;">OpenInTerminal</a> <a href="/tags/Sass/" style="font-size: 14px;">Sass</a> <a href="/tags/Vuex/" style="font-size: 10px;">Vuex</a> <a href="/tags/antd/" style="font-size: 10px;">antd</a> <a href="/tags/css/" style="font-size: 10px;">css</a> <a href="/tags/docsify/" style="font-size: 10px;">docsify</a> <a href="/tags/git/" style="font-size: 12px;">git</a> <a href="/tags/hexo/" style="font-size: 12px;">hexo</a> <a href="/tags/mui/" style="font-size: 18px;">mui</a> <a href="/tags/react/" style="font-size: 14px;">react</a> <a href="/tags/redux/" style="font-size: 10px;">redux</a> <a href="/tags/swiper/" style="font-size: 10px;">swiper</a> <a href="/tags/typescript/" style="font-size: 16px;">typescript</a> <a href="/tags/vue/" style="font-size: 20px;">vue</a> <a href="/tags/vux/" style="font-size: 10px;">vux</a> <a href="/tags/她/" style="font-size: 10px;">她</a> <a href="/tags/感悟/" style="font-size: 12px;">感悟</a> <a href="/tags/日记/" style="font-size: 10px;">日记</a> <a href="/tags/消息推送/" style="font-size: 10px;">消息推送</a> <a href="/tags/知识点/" style="font-size: 10px;">知识点</a> <a href="/tags/软考笔记/" style="font-size: 16px;">软考笔记</a>
    </div>
    
  </div>

  
  
  <div class="nexmoe-widget-wrap">
    <h3 class="nexmoe-widget-title">文章归档</h3>
    <div class="nexmoe-widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/07/">七月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/03/">三月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/10/">十月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/09/">九月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/07/">七月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/06/">六月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/04/">四月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/01/">一月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/12/">十二月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/09/">九月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/08/">八月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/07/">七月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/06/">六月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/05/">五月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/04/">四月 2019</a></li></ul>
    </div>
  </div>


  
</aside>
    <!-- <div class="nexmoe-copyright">
        &copy; 2021 LeeGeing
        Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
        & <a href="https://nexmoe.com/hexo-theme-nexmoe.html" target="_blank">Nexmoe</a>
    </div> -->
    <div class="nexmoe-copyright">
        <a href="http://beian.miit.gov.cn/state/outPortal/loginPortal.action" target="_blank">湘ICP备16019481号</a>
        <!-- & <a href="https://nexmoe.com/hexo-theme-nexmoe.html" target="_blank">Nexmoe</a> -->
    </div>
</div><!-- .nexmoe-drawer -->
  </div>
  <div id="nexmoe-content">
    <div class="nexmoe-primary">
        <div class="nexmoe-post">
    <div class="nexmoe-post-cover"> 
        
        <img src="http://images.leegeing.cn/hexoImg/undraw_detailed_analysis_xn7y.png">
        
        <h1>HBuilder集成的消息推送</h1>
    </div>
  <div class="nexmoe-post-meta">
    <a><i class="nexmoefont icon-calendar-fill"></i>2019年09月18日</a>
    <a><i class="nexmoefont icon-areachart"></i>1.5k 字</a>
    <a><i class="nexmoefont icon-time-circle-fill"></i>大概 6 分钟</a>
    
      <a class="nexmoefont icon-appstore-fill -link" href="/categories/前端/">前端</a>
    
    
      <a class="nexmoefont icon-tag-fill -link" href="/tags/消息推送/">消息推送</a>
    
  </div>
  <article>
    <h1 id="Android-消息推送"><a href="#Android-消息推送" class="headerlink" title="Android 消息推送"></a>Android 消息推送</h1><p>篇幅较长，但是我写得很详情，希望你能耐心看下去。</p>
<a id="more"></a>
<p><strong>消息推送主要流程步骤</strong>:</p>
<ul>
<li><p>生成签名证书</p>
</li>
<li><p>选择推送消息服务商</p>
</li>
<li><p>修改 APP 配置文件</p>
</li>
<li><p>完成</p>
</li>
</ul>
<hr>
<h2 id="生成签名证书"><a href="#生成签名证书" class="headerlink" title="生成签名证书"></a>生成签名证书</h2><h3 id="安装-Java-环境"><a href="#安装-Java-环境" class="headerlink" title="安装 Java 环境"></a>安装 Java 环境</h3><p>下载<a href="https://www.java.com/zh_CN/download/mac_download.jsp" target="_blank" rel="noopener">下载适用于 Mac OS X 的 Java</a>, 傻瓜式安装，下一步到底。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15687892607067.jpg" alt="安装 Java 环境"></p>
<p>这个时候我们还没有安装完成，我们还需要安装 <code>JDK</code>.</p>
<h3 id="安装-JDK"><a href="#安装-JDK" class="headerlink" title="安装 JDK"></a>安装 JDK</h3><p><a href="https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html" target="_blank" rel="noopener">👉点击下载JDK👈</a></p>
<p><img src="http://images.leegeing.cn/hexoImg/15687902058577.jpg" alt="安装 JDK"></p>
<p>这里需要注意的是，下载的时候你必须登录 Oracal 账号才能下载，登录 Oracal 过程有点慢，还请耐心等待。如果没有Oracal账号的话，先自行注册。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15687917551563.jpg" alt="-w620"></p>
<p>安装的过程也是非常简单的，完成安装后，可以到目录中进行查看，看是否安装成功了。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15687918289624.jpg" alt="-w1139"></p>
<p>我们打开终端，输入 <code>java -version</code> 查看java的版本。</p>
<p>如果成功输出了版本信息，说明 <code>JDK</code> 安装成功。</p>
<h3 id="生成签名证书-1"><a href="#生成签名证书-1" class="headerlink" title="生成签名证书"></a>生成签名证书</h3><p>生成签名证书有多种方式，我这里介绍两种方式，使用<code>终端</code>或者使用 <code>Android Studio</code> 生成。</p>
<p><code>Android Studio</code> 是谷歌推出的一个<code>Android</code>集成开发工具。</p>
<h4 id="终端生成证书"><a href="#终端生成证书" class="headerlink" title="终端生成证书"></a>终端生成证书</h4><p>你需要保证你的 <code>Java</code> 环境已经 <code>JDK</code> 已经安装成功了。没有安装成功的依照前面的步骤查找原因，或者自行百度一下。</p>
<p>复制下面代码到终端中运行，部分参数需要自行修改。</p>
<pre><code class="Shell">keytool -genkey -v -alias android -keyalg RSA -validity 20000 -keystore /Users/当前用户的用户名/文件夹名字/android.keystore
</code></pre>
<p><strong>这里需要注意的是，如果生成失败，请检查你的证书存放地址是否正确！！！</strong></p>
<p><strong>参数释义:</strong></p>
<ul>
<li><p><code>genkey</code> : 生成文件</p>
</li>
<li><p><code>alias android</code> : 表示证书的别名是android (别名最好和文件名保持一致，方便后续查询证书信息)</p>
</li>
<li><p><code>keyalg RSA</code> :  表示采用的RSA算法</p>
</li>
<li><p><code>validity 20000</code> :  表示证书的有效期是20000天</p>
</li>
<li><p><code>keystore /路径/文件名</code> : 前面表示生成证书存放的路径以及生成的证书文件，证书文件的后缀名随意 <code>.keystore</code> 或者 <code>.jks</code>或者不写都是可以的，反正你也打不开。</p>
</li>
</ul>
<p><strong>关于文件名后缀的小知识:</strong> </p>
<p>使用eclipse生成的密匙文件后缀为 <code>.keystore</code> 。</p>
<p>使用Android Studio生成的密匙文件后缀为 <code>.jks</code> 。</p>
<p><code>jks</code>是Java密钥库(KeyStore)比较常见的一种格式(共有5种，<code>JKS, JCEKS, PKCS12, BKS，UBER</code>)，是JAVA的keytools证书工具支持的证书私钥格式。</p>
<p>其中使用哪一种key根据你最终要在那个平台发布而定，如最后要在AndriodStudio上发布就要使用.jks格式的密匙文件。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15687992767625.jpg" alt="-w570"></p>
<p>到终端中输入指令后，会让你填写一些证书信息，自行填写就好，我这是做为测试随便填写的。</p>
<p>刚开始会让你设定秘钥库的密码，两次密码要保持一致，以及最后还要设定密钥口令，建议和密钥库的密码保持一致。</p>
<p>因为输入密码因为不是明文的，所以你看不见你输入的密码，但是你不用管它，密码填写完毕后直接回车就行了。</p>
<p>文件生成后可以在你设定的那个目录中找到这个证书文件，这个时候就代表证书已经成功生成了。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15687995928360.jpg" alt="-w404"></p>
<h4 id="Android-Studio-生成"><a href="#Android-Studio-生成" class="headerlink" title="Android Studio 生成"></a>Android Studio 生成</h4><p>如果没有下载 <code>Android Studio</code>的同学，请自行去官网下载哦。</p>
<p><a href="https://developer.android.com/studio" target="_blank" rel="noopener">👉点击下载Android Studio👈</a></p>
<p>下载安装步骤我就不重复了，不懂的同学可以百度。</p>
<p>打开 <code>Android Studio</code> ，新建一个项目，选择第二个 <code>Empty Activity</code>,点击下一步。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15687998779348.jpg" alt="-w900"></p>
<p>然后我们开始初始化项目，需要填写一些信息。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688003108469.jpg" alt="-w900"></p>
<p>项目初始化后，点击 <code>Build</code> 菜单下的 <code>Generate Signed Bundie / APK...</code></p>
<p><img src="http://images.leegeing.cn/hexoImg/15688016837256.jpg" alt="-w291"></p>
<p>选择 APK 选项, 点击下一步</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688017839311.jpg" alt="-w568"></p>
<p>选择新建 <code>Create new...</code></p>
<p><img src="http://images.leegeing.cn/hexoImg/15688018227659.jpg" alt="-w568"></p>
<p>跟终端生成证书一样，填入证书信息，设置密钥</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688022469380.jpg" alt="-w523"></p>
<p>填写完成后，点击完成。签名证书也是可以在自己设置的目录路径中找到证书文件的。</p>
<h4 id="查看证书"><a href="#查看证书" class="headerlink" title="查看证书"></a>查看证书</h4><p>在签名证书的目录下打开终端，输入如下命令查看签名证书，会让你输入刚刚你设置的密钥。密钥无误后便能看到签名证书的信息了。</p>
<pre><code class="Shell">  keytool -list -v -keystore 证书文件
</code></pre>
<p><img src="http://images.leegeing.cn/hexoImg/15688026560695.jpg" alt="-w570"></p>
<h2 id="选择推送消息服务商"><a href="#选择推送消息服务商" class="headerlink" title="选择推送消息服务商"></a>选择推送消息服务商</h2><p>我用的是消息推送服务商是<strong>个推</strong>，你也可以选择小米的推送，或<br>者其他服务商的推送服务。我这里以个推为例。</p>
<p>打开<a href="https://dev.getui.com" target="_blank" rel="noopener">👉个推官网👈</a>，点击登录，没有账号的先进行注册。</p>
<p>找到<code>开发者中心</code> -&gt; 在侧边菜单选择<code>应用管理</code> -&gt; 然后点击右上角的<code>创建应用</code></p>
<p>创建应用的过程很简单，我就不做过多阐述了。</p>
<p>然后找到你刚刚创建好的应用，点击<code>应用信息</code></p>
<p><img src="http://images.leegeing.cn/hexoImg/15688032143722.jpg" alt="-w1471"></p>
<p>把 <code>appid</code> , <code>appSecret</code> , <code>appKey</code> 都记录下来。</p>
<p>应用签名：就是我们刚刚那个签名证书文件中的 SHA256 的值。</p>
<p>包名是自己填入的，一般命名规则是，公司域名反过来加上项目名称。</p>
<p>这里需要注意的是，APP中的包名应该要与个推中创建应用的包名保持一致。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688033170233.jpg" alt="-w586"></p>
<h2 id="修改-APP-配置"><a href="#修改-APP-配置" class="headerlink" title="修改 APP 配置"></a>修改 APP 配置</h2><p>找到 <code>manifest.json</code> 中的 SDK 配置。勾选个推，然后填入刚刚生成的</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688172502232.jpg" alt="-w590"></p>
<p>然后再点击发行 -&gt; 原生APP 云打包，配置如下</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688178325589.jpg" alt="-w531"></p>
<p>打包完成后，就可以使用个推推送消息了。</p>
<h2 id="配置个推推送消息"><a href="#配置个推推送消息" class="headerlink" title="配置个推推送消息"></a>配置个推推送消息</h2><p>进入个推开发者中心，选择个推.消息推送，在应用列表中选择创建推送。</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688185912999.jpg" alt="-w1680"></p>
<p>尝试简单配置推送消息</p>
<p><img src="http://images.leegeing.cn/hexoImg/15688187672093.jpg" alt="-w677"></p>
<p>滑到最底部，点击发送预览，然后再点击确认，进行消息的推送，下面就是发送成功的预览图。</p>
<p><img src="http://images.leegeing.cn/hexoImg/Screenshot_20190918-230158__01.jpg" alt="Screenshot_20190918-230158__01"></p>
<hr>
<p>至此就告一段落了，这只是个推的简单入门，还有更多好玩有趣的就交给你去探索啦~~</p>

  </article>
  
    

  
  <section class="nexmoe-comment">
    <script id="dsq-count-scr" src="https://leegeing-cn.disqus.com/count.js" async></script>
<div id="disqus_thread"></div>
<script>
    var disqus_config = function () {
        this.page.url = 'https://mraing.github.io/2019/09/18/HBuilder集成的消息推送/'; // Replace PAGE_URL with your page's canonical URL variable
        this.page.identifier = 'https://mraing.github.io/2019/09/18/HBuilder集成的消息推送/'; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
    };
</script>
<script id="disqus-thread-script">
    (function() { // DON'T EDIT BELOW THIS LINE
        var d = document;
        var s = d.createElement('script');
        s.src = '//leegeing-cn.disqus.com/embed.js';
        s.setAttribute('data-timestamp', + new Date());
        (d.head || d.body).appendChild(s);
    })();
</script>

</section>
</div>
    </div>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/mdui@0.4.3/dist/js/mdui.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
 
    <script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>


 
    <script src="https://cdn.jsdelivr.net/npm/smoothscroll-for-websites@1.4.9/SmoothScroll.min.js"></script>


<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.15.8/build/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

<script src="/js/app.js?v=1627371788939"></script>
<script src="https://cdn.jsdelivr.net/npm/lazysizes@5.1.0/lazysizes.min.js"></script>


    <script type="text/javascript" src="https://cdn.jsdelivr.net/gh/xtaodada/xtaodada.github.io@0.0.2/copy.js"></script>

  





</body>

</html>
